package com.atguigu.java;

/**
 *      抽象类的匿名子类
 *
 *
 * @author : leimingchao
 * @date Date : 2021年08月29日 22:53
 */
public class PersonTest {

    public static void main(String[] args) {

        //匿名对象
        method(new Student());

        Worker worker = new Worker();
        //非匿名的类非匿名的对象
        method1(worker);

        //非匿名的类匿名的对象
        method1(new Worker());

        System.out.println("***************************");
        //创建了一匿名子类的对象：person
        Person person = new Person() {
            @Override
            public void eat() {
                System.out.println("吃东西");
            }

            @Override
            public void breath() {
                System.out.println("好好呼吸");
            }
        };

        method1(person);
        System.out.println("***************************");

        //创建匿名子类的匿名对象
        method1(new Person() {
            @Override
            public void eat() {
                System.out.println("吃好吃的东西");
            }

            @Override
            public void breath() {
                System.out.println("好好呼吸新鲜空气");
            }
        });

    }

    public static void method(Student student) {

    }

    public static void method1(Person person) {
        person.eat();
        person.breath();
    }
}

class Worker extends Person {

    @Override
    public void breath() {

    }

    @Override
    public void eat() {

    }
}
